package com.ruoyi.safe.service;

import java.util.List;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.safe.domain.BizEnterCheck;
import com.ruoyi.safe.domain.dto.BizEnterCheckDTO;
import com.ruoyi.safe.domain.dto.BizEnterDTO;
import com.ruoyi.safe.domain.dto.EnterCheckDTO;
import com.ruoyi.safe.domain.dto.StatisticsDto;
import com.ruoyi.safe.domain.vo.BizEnterDataPivotVO;

/**
 * 公司检查Service接口
 *
 * @author ruoyi
 * @date 2023-12-05
 */
public interface IBizEnterCheckService
{
    /**
     * 查询公司检查
     *
     * @param id 公司检查主键
     * @return 公司检查
     */
    public BizEnterCheck selectBizEnterCheckById(Long id);

    /**
     * 查询公司检查列表
     *
     * @param bizEnterCheckDTO 公司检查
     * @return 公司检查集合
     */
    public List<BizEnterCheck> selectBizEnterCheckList(BizEnterCheckDTO bizEnterCheckDTO, SysUser sysUser);

    /**
     * 我参与的检查
     * @param bizEnterCheck
     * @return
     */
    public List<BizEnterCheck> selectBizEnterMyList(BizEnterCheck bizEnterCheck, SysUser user);

    /**
     * 新增公司检查
     *
     * @param bizEnterCheck 公司检查
     * @return 结果
     */
    public int insertBizEnterCheck(BizEnterCheck bizEnterCheck, SysUser user);

    /**
     * 修改公司检查
     *
     * @param bizEnterCheck 公司检查
     * @return 结果
     */
    public int updateBizEnterCheck(BizEnterCheck bizEnterCheck, SysUser user);

    /**
     * 批量删除公司检查
     *
     * @param ids 需要删除的公司检查主键集合
     * @return 结果
     */
    public int deleteBizEnterCheckByIds(Long[] ids);

    /**
     * 删除公司检查信息
     *
     * @param id 公司检查主键
     * @return 结果
     */
    public int deleteBizEnterCheckById(Long id);

    /**
     * 点击发送任务，新增
     * @param bizEnterDTO
     * @return
     */
    public int insertEnter(BizEnterDTO bizEnterDTO, SysUser user);

    /**
     * 我的待办列表
     * @param bizEnterCheckDTO
     * @return
     */
    List<EnterCheckDTO> selectToDoList(BizEnterCheckDTO bizEnterCheckDTO, SysUser user);

    public BizEnterDataPivotVO getDataPivotById(Long id);

    Long countByStatisticsDto(StatisticsDto statisticsDto, SysUser sysUser);
}
